package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;

/**
 * 使用对象输入流进行对象反序列化
 */
public class OISDemo {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        //将person.obj文件中的对象反序列化
        FileInputStream fis = new FileInputStream("person.obj");
        ObjectInputStream ois = new ObjectInputStream(fis);
        /*
            Object readObject()
            对象输入流的readObject方法可以进行对象的反序列化
            注意:对象输入流通过下面连接的流读取的字节必须是对象输出流序列化
                一个对象后的一组字节，否则会抛出异常:ClassNotFoundException
         */
        Object obj = ois.readObject();
        Person p = (Person)obj;
        System.out.println(p);

        ois.close();
    }
}
